﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Xml;
using TaleWorlds.CampaignSystem.CharacterDevelopment;
using TaleWorlds.CampaignSystem.Party;
using TaleWorlds.Core;
using TaleWorlds.Library;
using TaleWorlds.Localization;
using TaleWorlds.ObjectSystem;

namespace TaleWorlds.CampaignSystem
{
	// Token: 0x0200005B RID: 91
	public sealed class CultureObject : BasicCultureObject
	{
		// Token: 0x06000A75 RID: 2677 RVA: 0x0003B9E6 File Offset: 0x00039BE6
		internal static void AutoGeneratedStaticCollectObjectsCultureObject(object o, List<object> collectedObjects)
		{
			((CultureObject)o).AutoGeneratedInstanceCollectObjects(collectedObjects);
		}

		// Token: 0x06000A76 RID: 2678 RVA: 0x0003B9F4 File Offset: 0x00039BF4
		protected override void AutoGeneratedInstanceCollectObjects(List<object> collectedObjects)
		{
			base.AutoGeneratedInstanceCollectObjects(collectedObjects);
		}

		// Token: 0x1700023D RID: 573
		// (get) Token: 0x06000A77 RID: 2679 RVA: 0x0003B9FD File Offset: 0x00039BFD
		// (set) Token: 0x06000A78 RID: 2680 RVA: 0x0003BA05 File Offset: 0x00039C05
		public CultureTrait[] Traits { get; private set; }

		// Token: 0x06000A79 RID: 2681 RVA: 0x0003BA0E File Offset: 0x00039C0E
		public bool HasTrait(CultureTrait trait)
		{
			return this.Traits.Contains(trait);
		}

		// Token: 0x06000A7A RID: 2682 RVA: 0x0003BA1C File Offset: 0x00039C1C
		public bool HasFeat(FeatObject feat)
		{
			return this._cultureFeats.Contains(feat);
		}

		// Token: 0x06000A7B RID: 2683 RVA: 0x0003BA2A File Offset: 0x00039C2A
		public IEnumerable<FeatObject> GetCulturalFeats(Func<FeatObject, bool> predicate = null)
		{
			foreach (FeatObject featObject in this._cultureFeats)
			{
				if (predicate == null || predicate(featObject))
				{
					yield return featObject;
				}
			}
			List<FeatObject>.Enumerator enumerator = default(List<FeatObject>.Enumerator);
			yield break;
			yield break;
		}

		// Token: 0x1700023E RID: 574
		// (get) Token: 0x06000A7C RID: 2684 RVA: 0x0003BA41 File Offset: 0x00039C41
		// (set) Token: 0x06000A7D RID: 2685 RVA: 0x0003BA49 File Offset: 0x00039C49
		public string BodyPropertiesValue { get; private set; }

		// Token: 0x1700023F RID: 575
		// (get) Token: 0x06000A7E RID: 2686 RVA: 0x0003BA52 File Offset: 0x00039C52
		// (set) Token: 0x06000A7F RID: 2687 RVA: 0x0003BA5A File Offset: 0x00039C5A
		public CharacterObject BasicTroop { get; private set; }

		// Token: 0x17000240 RID: 576
		// (get) Token: 0x06000A80 RID: 2688 RVA: 0x0003BA63 File Offset: 0x00039C63
		// (set) Token: 0x06000A81 RID: 2689 RVA: 0x0003BA6B File Offset: 0x00039C6B
		public CharacterObject EliteBasicTroop { get; private set; }

		// Token: 0x17000241 RID: 577
		// (get) Token: 0x06000A82 RID: 2690 RVA: 0x0003BA74 File Offset: 0x00039C74
		// (set) Token: 0x06000A83 RID: 2691 RVA: 0x0003BA7C File Offset: 0x00039C7C
		public CharacterObject MeleeMilitiaTroop { get; private set; }

		// Token: 0x17000242 RID: 578
		// (get) Token: 0x06000A84 RID: 2692 RVA: 0x0003BA85 File Offset: 0x00039C85
		// (set) Token: 0x06000A85 RID: 2693 RVA: 0x0003BA8D File Offset: 0x00039C8D
		public CharacterObject MeleeEliteMilitiaTroop { get; private set; }

		// Token: 0x17000243 RID: 579
		// (get) Token: 0x06000A86 RID: 2694 RVA: 0x0003BA96 File Offset: 0x00039C96
		// (set) Token: 0x06000A87 RID: 2695 RVA: 0x0003BA9E File Offset: 0x00039C9E
		public CharacterObject RangedEliteMilitiaTroop { get; private set; }

		// Token: 0x17000244 RID: 580
		// (get) Token: 0x06000A88 RID: 2696 RVA: 0x0003BAA7 File Offset: 0x00039CA7
		// (set) Token: 0x06000A89 RID: 2697 RVA: 0x0003BAAF File Offset: 0x00039CAF
		public CharacterObject RangedMilitiaTroop { get; private set; }

		// Token: 0x17000245 RID: 581
		// (get) Token: 0x06000A8A RID: 2698 RVA: 0x0003BAB8 File Offset: 0x00039CB8
		// (set) Token: 0x06000A8B RID: 2699 RVA: 0x0003BAC0 File Offset: 0x00039CC0
		public CharacterObject TournamentMaster { get; private set; }

		// Token: 0x17000246 RID: 582
		// (get) Token: 0x06000A8C RID: 2700 RVA: 0x0003BAC9 File Offset: 0x00039CC9
		// (set) Token: 0x06000A8D RID: 2701 RVA: 0x0003BAD1 File Offset: 0x00039CD1
		public CharacterObject Villager { get; private set; }

		// Token: 0x17000247 RID: 583
		// (get) Token: 0x06000A8E RID: 2702 RVA: 0x0003BADA File Offset: 0x00039CDA
		// (set) Token: 0x06000A8F RID: 2703 RVA: 0x0003BAE2 File Offset: 0x00039CE2
		public CharacterObject CaravanMaster { get; private set; }

		// Token: 0x17000248 RID: 584
		// (get) Token: 0x06000A90 RID: 2704 RVA: 0x0003BAEB File Offset: 0x00039CEB
		// (set) Token: 0x06000A91 RID: 2705 RVA: 0x0003BAF3 File Offset: 0x00039CF3
		public CharacterObject ArmedTrader { get; private set; }

		// Token: 0x17000249 RID: 585
		// (get) Token: 0x06000A92 RID: 2706 RVA: 0x0003BAFC File Offset: 0x00039CFC
		// (set) Token: 0x06000A93 RID: 2707 RVA: 0x0003BB04 File Offset: 0x00039D04
		public CharacterObject CaravanGuard { get; private set; }

		// Token: 0x1700024A RID: 586
		// (get) Token: 0x06000A94 RID: 2708 RVA: 0x0003BB0D File Offset: 0x00039D0D
		// (set) Token: 0x06000A95 RID: 2709 RVA: 0x0003BB15 File Offset: 0x00039D15
		public CharacterObject PrisonGuard { get; private set; }

		// Token: 0x1700024B RID: 587
		// (get) Token: 0x06000A96 RID: 2710 RVA: 0x0003BB1E File Offset: 0x00039D1E
		// (set) Token: 0x06000A97 RID: 2711 RVA: 0x0003BB26 File Offset: 0x00039D26
		public CharacterObject Guard { get; private set; }

		// Token: 0x1700024C RID: 588
		// (get) Token: 0x06000A98 RID: 2712 RVA: 0x0003BB2F File Offset: 0x00039D2F
		// (set) Token: 0x06000A99 RID: 2713 RVA: 0x0003BB37 File Offset: 0x00039D37
		public CharacterObject Steward { get; private set; }

		// Token: 0x1700024D RID: 589
		// (get) Token: 0x06000A9A RID: 2714 RVA: 0x0003BB40 File Offset: 0x00039D40
		// (set) Token: 0x06000A9B RID: 2715 RVA: 0x0003BB48 File Offset: 0x00039D48
		public CharacterObject Blacksmith { get; private set; }

		// Token: 0x1700024E RID: 590
		// (get) Token: 0x06000A9C RID: 2716 RVA: 0x0003BB51 File Offset: 0x00039D51
		// (set) Token: 0x06000A9D RID: 2717 RVA: 0x0003BB59 File Offset: 0x00039D59
		public CharacterObject Weaponsmith { get; private set; }

		// Token: 0x1700024F RID: 591
		// (get) Token: 0x06000A9E RID: 2718 RVA: 0x0003BB62 File Offset: 0x00039D62
		// (set) Token: 0x06000A9F RID: 2719 RVA: 0x0003BB6A File Offset: 0x00039D6A
		public CharacterObject Townswoman { get; private set; }

		// Token: 0x17000250 RID: 592
		// (get) Token: 0x06000AA0 RID: 2720 RVA: 0x0003BB73 File Offset: 0x00039D73
		// (set) Token: 0x06000AA1 RID: 2721 RVA: 0x0003BB7B File Offset: 0x00039D7B
		public CharacterObject TownswomanInfant { get; private set; }

		// Token: 0x17000251 RID: 593
		// (get) Token: 0x06000AA2 RID: 2722 RVA: 0x0003BB84 File Offset: 0x00039D84
		// (set) Token: 0x06000AA3 RID: 2723 RVA: 0x0003BB8C File Offset: 0x00039D8C
		public CharacterObject TownswomanChild { get; private set; }

		// Token: 0x17000252 RID: 594
		// (get) Token: 0x06000AA4 RID: 2724 RVA: 0x0003BB95 File Offset: 0x00039D95
		// (set) Token: 0x06000AA5 RID: 2725 RVA: 0x0003BB9D File Offset: 0x00039D9D
		public CharacterObject TownswomanTeenager { get; private set; }

		// Token: 0x17000253 RID: 595
		// (get) Token: 0x06000AA6 RID: 2726 RVA: 0x0003BBA6 File Offset: 0x00039DA6
		// (set) Token: 0x06000AA7 RID: 2727 RVA: 0x0003BBAE File Offset: 0x00039DAE
		public CharacterObject VillageWoman { get; private set; }

		// Token: 0x17000254 RID: 596
		// (get) Token: 0x06000AA8 RID: 2728 RVA: 0x0003BBB7 File Offset: 0x00039DB7
		// (set) Token: 0x06000AA9 RID: 2729 RVA: 0x0003BBBF File Offset: 0x00039DBF
		public CharacterObject VillagerMaleChild { get; private set; }

		// Token: 0x17000255 RID: 597
		// (get) Token: 0x06000AAA RID: 2730 RVA: 0x0003BBC8 File Offset: 0x00039DC8
		// (set) Token: 0x06000AAB RID: 2731 RVA: 0x0003BBD0 File Offset: 0x00039DD0
		public CharacterObject VillagerMaleTeenager { get; private set; }

		// Token: 0x17000256 RID: 598
		// (get) Token: 0x06000AAC RID: 2732 RVA: 0x0003BBD9 File Offset: 0x00039DD9
		// (set) Token: 0x06000AAD RID: 2733 RVA: 0x0003BBE1 File Offset: 0x00039DE1
		public CharacterObject VillagerFemaleChild { get; private set; }

		// Token: 0x17000257 RID: 599
		// (get) Token: 0x06000AAE RID: 2734 RVA: 0x0003BBEA File Offset: 0x00039DEA
		// (set) Token: 0x06000AAF RID: 2735 RVA: 0x0003BBF2 File Offset: 0x00039DF2
		public CharacterObject VillagerFemaleTeenager { get; private set; }

		// Token: 0x17000258 RID: 600
		// (get) Token: 0x06000AB0 RID: 2736 RVA: 0x0003BBFB File Offset: 0x00039DFB
		// (set) Token: 0x06000AB1 RID: 2737 RVA: 0x0003BC03 File Offset: 0x00039E03
		public CharacterObject Townsman { get; private set; }

		// Token: 0x17000259 RID: 601
		// (get) Token: 0x06000AB2 RID: 2738 RVA: 0x0003BC0C File Offset: 0x00039E0C
		// (set) Token: 0x06000AB3 RID: 2739 RVA: 0x0003BC14 File Offset: 0x00039E14
		public CharacterObject TownsmanInfant { get; private set; }

		// Token: 0x1700025A RID: 602
		// (get) Token: 0x06000AB4 RID: 2740 RVA: 0x0003BC1D File Offset: 0x00039E1D
		// (set) Token: 0x06000AB5 RID: 2741 RVA: 0x0003BC25 File Offset: 0x00039E25
		public CharacterObject TownsmanChild { get; private set; }

		// Token: 0x1700025B RID: 603
		// (get) Token: 0x06000AB6 RID: 2742 RVA: 0x0003BC2E File Offset: 0x00039E2E
		// (set) Token: 0x06000AB7 RID: 2743 RVA: 0x0003BC36 File Offset: 0x00039E36
		public CharacterObject TownsmanTeenager { get; private set; }

		// Token: 0x1700025C RID: 604
		// (get) Token: 0x06000AB8 RID: 2744 RVA: 0x0003BC3F File Offset: 0x00039E3F
		// (set) Token: 0x06000AB9 RID: 2745 RVA: 0x0003BC47 File Offset: 0x00039E47
		public CharacterObject RansomBroker { get; private set; }

		// Token: 0x1700025D RID: 605
		// (get) Token: 0x06000ABA RID: 2746 RVA: 0x0003BC50 File Offset: 0x00039E50
		// (set) Token: 0x06000ABB RID: 2747 RVA: 0x0003BC58 File Offset: 0x00039E58
		public CharacterObject GangleaderBodyguard { get; private set; }

		// Token: 0x1700025E RID: 606
		// (get) Token: 0x06000ABC RID: 2748 RVA: 0x0003BC61 File Offset: 0x00039E61
		// (set) Token: 0x06000ABD RID: 2749 RVA: 0x0003BC69 File Offset: 0x00039E69
		public CharacterObject MerchantNotary { get; private set; }

		// Token: 0x1700025F RID: 607
		// (get) Token: 0x06000ABE RID: 2750 RVA: 0x0003BC72 File Offset: 0x00039E72
		// (set) Token: 0x06000ABF RID: 2751 RVA: 0x0003BC7A File Offset: 0x00039E7A
		public CharacterObject ArtisanNotary { get; private set; }

		// Token: 0x17000260 RID: 608
		// (get) Token: 0x06000AC0 RID: 2752 RVA: 0x0003BC83 File Offset: 0x00039E83
		// (set) Token: 0x06000AC1 RID: 2753 RVA: 0x0003BC8B File Offset: 0x00039E8B
		public CharacterObject PreacherNotary { get; private set; }

		// Token: 0x17000261 RID: 609
		// (get) Token: 0x06000AC2 RID: 2754 RVA: 0x0003BC94 File Offset: 0x00039E94
		// (set) Token: 0x06000AC3 RID: 2755 RVA: 0x0003BC9C File Offset: 0x00039E9C
		public CharacterObject RuralNotableNotary { get; private set; }

		// Token: 0x17000262 RID: 610
		// (get) Token: 0x06000AC4 RID: 2756 RVA: 0x0003BCA5 File Offset: 0x00039EA5
		// (set) Token: 0x06000AC5 RID: 2757 RVA: 0x0003BCAD File Offset: 0x00039EAD
		public CharacterObject ShopWorker { get; private set; }

		// Token: 0x17000263 RID: 611
		// (get) Token: 0x06000AC6 RID: 2758 RVA: 0x0003BCB6 File Offset: 0x00039EB6
		// (set) Token: 0x06000AC7 RID: 2759 RVA: 0x0003BCBE File Offset: 0x00039EBE
		public CharacterObject Tavernkeeper { get; private set; }

		// Token: 0x17000264 RID: 612
		// (get) Token: 0x06000AC8 RID: 2760 RVA: 0x0003BCC7 File Offset: 0x00039EC7
		// (set) Token: 0x06000AC9 RID: 2761 RVA: 0x0003BCCF File Offset: 0x00039ECF
		public CharacterObject TavernGamehost { get; private set; }

		// Token: 0x17000265 RID: 613
		// (get) Token: 0x06000ACA RID: 2762 RVA: 0x0003BCD8 File Offset: 0x00039ED8
		// (set) Token: 0x06000ACB RID: 2763 RVA: 0x0003BCE0 File Offset: 0x00039EE0
		public CharacterObject Musician { get; private set; }

		// Token: 0x17000266 RID: 614
		// (get) Token: 0x06000ACC RID: 2764 RVA: 0x0003BCE9 File Offset: 0x00039EE9
		// (set) Token: 0x06000ACD RID: 2765 RVA: 0x0003BCF1 File Offset: 0x00039EF1
		public CharacterObject TavernWench { get; private set; }

		// Token: 0x17000267 RID: 615
		// (get) Token: 0x06000ACE RID: 2766 RVA: 0x0003BCFA File Offset: 0x00039EFA
		// (set) Token: 0x06000ACF RID: 2767 RVA: 0x0003BD02 File Offset: 0x00039F02
		public CharacterObject Armorer { get; private set; }

		// Token: 0x17000268 RID: 616
		// (get) Token: 0x06000AD0 RID: 2768 RVA: 0x0003BD0B File Offset: 0x00039F0B
		// (set) Token: 0x06000AD1 RID: 2769 RVA: 0x0003BD13 File Offset: 0x00039F13
		public CharacterObject HorseMerchant { get; private set; }

		// Token: 0x17000269 RID: 617
		// (get) Token: 0x06000AD2 RID: 2770 RVA: 0x0003BD1C File Offset: 0x00039F1C
		// (set) Token: 0x06000AD3 RID: 2771 RVA: 0x0003BD24 File Offset: 0x00039F24
		public CharacterObject Barber { get; private set; }

		// Token: 0x1700026A RID: 618
		// (get) Token: 0x06000AD4 RID: 2772 RVA: 0x0003BD2D File Offset: 0x00039F2D
		// (set) Token: 0x06000AD5 RID: 2773 RVA: 0x0003BD35 File Offset: 0x00039F35
		public CharacterObject Merchant { get; private set; }

		// Token: 0x1700026B RID: 619
		// (get) Token: 0x06000AD6 RID: 2774 RVA: 0x0003BD3E File Offset: 0x00039F3E
		// (set) Token: 0x06000AD7 RID: 2775 RVA: 0x0003BD46 File Offset: 0x00039F46
		public CharacterObject Beggar { get; private set; }

		// Token: 0x1700026C RID: 620
		// (get) Token: 0x06000AD8 RID: 2776 RVA: 0x0003BD4F File Offset: 0x00039F4F
		// (set) Token: 0x06000AD9 RID: 2777 RVA: 0x0003BD57 File Offset: 0x00039F57
		public CharacterObject FemaleBeggar { get; private set; }

		// Token: 0x1700026D RID: 621
		// (get) Token: 0x06000ADA RID: 2778 RVA: 0x0003BD60 File Offset: 0x00039F60
		// (set) Token: 0x06000ADB RID: 2779 RVA: 0x0003BD68 File Offset: 0x00039F68
		public CharacterObject FemaleDancer { get; private set; }

		// Token: 0x1700026E RID: 622
		// (get) Token: 0x06000ADC RID: 2780 RVA: 0x0003BD71 File Offset: 0x00039F71
		// (set) Token: 0x06000ADD RID: 2781 RVA: 0x0003BD79 File Offset: 0x00039F79
		public CharacterObject MilitiaArcher { get; private set; }

		// Token: 0x1700026F RID: 623
		// (get) Token: 0x06000ADE RID: 2782 RVA: 0x0003BD82 File Offset: 0x00039F82
		// (set) Token: 0x06000ADF RID: 2783 RVA: 0x0003BD8A File Offset: 0x00039F8A
		public CharacterObject MilitiaVeteranArcher { get; private set; }

		// Token: 0x17000270 RID: 624
		// (get) Token: 0x06000AE0 RID: 2784 RVA: 0x0003BD93 File Offset: 0x00039F93
		// (set) Token: 0x06000AE1 RID: 2785 RVA: 0x0003BD9B File Offset: 0x00039F9B
		public CharacterObject MilitiaSpearman { get; private set; }

		// Token: 0x17000271 RID: 625
		// (get) Token: 0x06000AE2 RID: 2786 RVA: 0x0003BDA4 File Offset: 0x00039FA4
		// (set) Token: 0x06000AE3 RID: 2787 RVA: 0x0003BDAC File Offset: 0x00039FAC
		public CharacterObject MilitiaVeteranSpearman { get; private set; }

		// Token: 0x17000272 RID: 626
		// (get) Token: 0x06000AE4 RID: 2788 RVA: 0x0003BDB5 File Offset: 0x00039FB5
		// (set) Token: 0x06000AE5 RID: 2789 RVA: 0x0003BDBD File Offset: 0x00039FBD
		public CharacterObject GearPracticeDummy { get; private set; }

		// Token: 0x17000273 RID: 627
		// (get) Token: 0x06000AE6 RID: 2790 RVA: 0x0003BDC6 File Offset: 0x00039FC6
		// (set) Token: 0x06000AE7 RID: 2791 RVA: 0x0003BDCE File Offset: 0x00039FCE
		public CharacterObject WeaponPracticeStage1 { get; private set; }

		// Token: 0x17000274 RID: 628
		// (get) Token: 0x06000AE8 RID: 2792 RVA: 0x0003BDD7 File Offset: 0x00039FD7
		// (set) Token: 0x06000AE9 RID: 2793 RVA: 0x0003BDDF File Offset: 0x00039FDF
		public CharacterObject WeaponPracticeStage2 { get; private set; }

		// Token: 0x17000275 RID: 629
		// (get) Token: 0x06000AEA RID: 2794 RVA: 0x0003BDE8 File Offset: 0x00039FE8
		// (set) Token: 0x06000AEB RID: 2795 RVA: 0x0003BDF0 File Offset: 0x00039FF0
		public CharacterObject WeaponPracticeStage3 { get; private set; }

		// Token: 0x17000276 RID: 630
		// (get) Token: 0x06000AEC RID: 2796 RVA: 0x0003BDF9 File Offset: 0x00039FF9
		// (set) Token: 0x06000AED RID: 2797 RVA: 0x0003BE01 File Offset: 0x0003A001
		public CharacterObject GearDummy { get; private set; }

		// Token: 0x17000277 RID: 631
		// (get) Token: 0x06000AEE RID: 2798 RVA: 0x0003BE0A File Offset: 0x0003A00A
		// (set) Token: 0x06000AEF RID: 2799 RVA: 0x0003BE12 File Offset: 0x0003A012
		public MBEquipmentRoster DefaultBattleEquipmentRoster { get; private set; }

		// Token: 0x17000278 RID: 632
		// (get) Token: 0x06000AF0 RID: 2800 RVA: 0x0003BE1B File Offset: 0x0003A01B
		// (set) Token: 0x06000AF1 RID: 2801 RVA: 0x0003BE23 File Offset: 0x0003A023
		public MBEquipmentRoster DefaultCivilianEquipmentRoster { get; private set; }

		// Token: 0x17000279 RID: 633
		// (get) Token: 0x06000AF2 RID: 2802 RVA: 0x0003BE2C File Offset: 0x0003A02C
		// (set) Token: 0x06000AF3 RID: 2803 RVA: 0x0003BE34 File Offset: 0x0003A034
		public MBEquipmentRoster DuelPresetEquipmentRoster { get; private set; }

		// Token: 0x1700027A RID: 634
		// (get) Token: 0x06000AF4 RID: 2804 RVA: 0x0003BE3D File Offset: 0x0003A03D
		// (set) Token: 0x06000AF5 RID: 2805 RVA: 0x0003BE45 File Offset: 0x0003A045
		public CharacterObject BanditChief { get; private set; }

		// Token: 0x1700027B RID: 635
		// (get) Token: 0x06000AF6 RID: 2806 RVA: 0x0003BE4E File Offset: 0x0003A04E
		// (set) Token: 0x06000AF7 RID: 2807 RVA: 0x0003BE56 File Offset: 0x0003A056
		public CharacterObject BanditRaider { get; private set; }

		// Token: 0x1700027C RID: 636
		// (get) Token: 0x06000AF8 RID: 2808 RVA: 0x0003BE5F File Offset: 0x0003A05F
		// (set) Token: 0x06000AF9 RID: 2809 RVA: 0x0003BE67 File Offset: 0x0003A067
		public CharacterObject BanditBandit { get; private set; }

		// Token: 0x1700027D RID: 637
		// (get) Token: 0x06000AFA RID: 2810 RVA: 0x0003BE70 File Offset: 0x0003A070
		// (set) Token: 0x06000AFB RID: 2811 RVA: 0x0003BE78 File Offset: 0x0003A078
		public CharacterObject BanditBoss { get; private set; }

		// Token: 0x1700027E RID: 638
		// (get) Token: 0x06000AFC RID: 2812 RVA: 0x0003BE81 File Offset: 0x0003A081
		// (set) Token: 0x06000AFD RID: 2813 RVA: 0x0003BE89 File Offset: 0x0003A089
		public TextObject EncyclopediaText { get; private set; }

		// Token: 0x1700027F RID: 639
		// (get) Token: 0x06000AFE RID: 2814 RVA: 0x0003BE92 File Offset: 0x0003A092
		// (set) Token: 0x06000AFF RID: 2815 RVA: 0x0003BE9A File Offset: 0x0003A09A
		public PartyTemplateObject DefaultPartyTemplate { get; private set; }

		// Token: 0x17000280 RID: 640
		// (get) Token: 0x06000B00 RID: 2816 RVA: 0x0003BEA3 File Offset: 0x0003A0A3
		// (set) Token: 0x06000B01 RID: 2817 RVA: 0x0003BEAB File Offset: 0x0003A0AB
		public PartyTemplateObject VillagerPartyTemplate { get; private set; }

		// Token: 0x17000281 RID: 641
		// (get) Token: 0x06000B02 RID: 2818 RVA: 0x0003BEB4 File Offset: 0x0003A0B4
		// (set) Token: 0x06000B03 RID: 2819 RVA: 0x0003BEBC File Offset: 0x0003A0BC
		public PartyTemplateObject MilitiaPartyTemplate { get; private set; }

		// Token: 0x17000282 RID: 642
		// (get) Token: 0x06000B04 RID: 2820 RVA: 0x0003BEC5 File Offset: 0x0003A0C5
		// (set) Token: 0x06000B05 RID: 2821 RVA: 0x0003BECD File Offset: 0x0003A0CD
		public PartyTemplateObject RebelsPartyTemplate { get; private set; }

		// Token: 0x17000283 RID: 643
		// (get) Token: 0x06000B06 RID: 2822 RVA: 0x0003BED6 File Offset: 0x0003A0D6
		// (set) Token: 0x06000B07 RID: 2823 RVA: 0x0003BEDE File Offset: 0x0003A0DE
		public PartyTemplateObject CaravanPartyTemplate { get; private set; }

		// Token: 0x17000284 RID: 644
		// (get) Token: 0x06000B08 RID: 2824 RVA: 0x0003BEE7 File Offset: 0x0003A0E7
		// (set) Token: 0x06000B09 RID: 2825 RVA: 0x0003BEEF File Offset: 0x0003A0EF
		public PartyTemplateObject EliteCaravanPartyTemplate { get; private set; }

		// Token: 0x17000285 RID: 645
		// (get) Token: 0x06000B0A RID: 2826 RVA: 0x0003BEF8 File Offset: 0x0003A0F8
		// (set) Token: 0x06000B0B RID: 2827 RVA: 0x0003BF00 File Offset: 0x0003A100
		public PartyTemplateObject BanditBossPartyTemplate { get; private set; }

		// Token: 0x17000286 RID: 646
		// (get) Token: 0x06000B0C RID: 2828 RVA: 0x0003BF09 File Offset: 0x0003A109
		// (set) Token: 0x06000B0D RID: 2829 RVA: 0x0003BF11 File Offset: 0x0003A111
		public PartyTemplateObject VassalRewardTroopsPartyTemplate { get; private set; }

		// Token: 0x17000287 RID: 647
		// (get) Token: 0x06000B0E RID: 2830 RVA: 0x0003BF1A File Offset: 0x0003A11A
		// (set) Token: 0x06000B0F RID: 2831 RVA: 0x0003BF22 File Offset: 0x0003A122
		public MBReadOnlyList<ItemObject> VassalRewardItems { get; private set; }

		// Token: 0x17000288 RID: 648
		// (get) Token: 0x06000B10 RID: 2832 RVA: 0x0003BF2B File Offset: 0x0003A12B
		// (set) Token: 0x06000B11 RID: 2833 RVA: 0x0003BF33 File Offset: 0x0003A133
		public MBReadOnlyList<ItemObject> BannerBearerReplacementWeapons { get; private set; }

		// Token: 0x17000289 RID: 649
		// (get) Token: 0x06000B12 RID: 2834 RVA: 0x0003BF3C File Offset: 0x0003A13C
		public MBReadOnlyList<TextObject> MaleNameList
		{
			get
			{
				return this._maleNameList;
			}
		}

		// Token: 0x1700028A RID: 650
		// (get) Token: 0x06000B13 RID: 2835 RVA: 0x0003BF44 File Offset: 0x0003A144
		public MBReadOnlyList<TextObject> FemaleNameList
		{
			get
			{
				return this._femaleNameList;
			}
		}

		// Token: 0x1700028B RID: 651
		// (get) Token: 0x06000B14 RID: 2836 RVA: 0x0003BF4C File Offset: 0x0003A14C
		public MBReadOnlyList<TextObject> ClanNameList
		{
			get
			{
				return this._clanNameList;
			}
		}

		// Token: 0x1700028C RID: 652
		// (get) Token: 0x06000B15 RID: 2837 RVA: 0x0003BF54 File Offset: 0x0003A154
		public MBReadOnlyList<FeatObject> CultureFeats
		{
			get
			{
				return this._cultureFeats;
			}
		}

		// Token: 0x1700028D RID: 653
		// (get) Token: 0x06000B16 RID: 2838 RVA: 0x0003BF5C File Offset: 0x0003A15C
		public MBReadOnlyList<PolicyObject> DefaultPolicyList
		{
			get
			{
				return this._defaultPolicyList;
			}
		}

		// Token: 0x1700028E RID: 654
		// (get) Token: 0x06000B17 RID: 2839 RVA: 0x0003BF64 File Offset: 0x0003A164
		// (set) Token: 0x06000B18 RID: 2840 RVA: 0x0003BF6C File Offset: 0x0003A16C
		public MBReadOnlyList<int> PossibleClanBannerIconsIDs { get; private set; }

		// Token: 0x1700028F RID: 655
		// (get) Token: 0x06000B19 RID: 2841 RVA: 0x0003BF75 File Offset: 0x0003A175
		// (set) Token: 0x06000B1A RID: 2842 RVA: 0x0003BF7D File Offset: 0x0003A17D
		public MBReadOnlyList<CharacterObject> NotableAndWandererTemplates { get; private set; }

		// Token: 0x17000290 RID: 656
		// (get) Token: 0x06000B1B RID: 2843 RVA: 0x0003BF86 File Offset: 0x0003A186
		// (set) Token: 0x06000B1C RID: 2844 RVA: 0x0003BF8E File Offset: 0x0003A18E
		public MBReadOnlyList<CharacterObject> RebelliousHeroTemplates { get; private set; }

		// Token: 0x17000291 RID: 657
		// (get) Token: 0x06000B1D RID: 2845 RVA: 0x0003BF97 File Offset: 0x0003A197
		// (set) Token: 0x06000B1E RID: 2846 RVA: 0x0003BF9F File Offset: 0x0003A19F
		public MBReadOnlyList<CharacterObject> LordTemplates { get; private set; }

		// Token: 0x17000292 RID: 658
		// (get) Token: 0x06000B1F RID: 2847 RVA: 0x0003BFA8 File Offset: 0x0003A1A8
		// (set) Token: 0x06000B20 RID: 2848 RVA: 0x0003BFB0 File Offset: 0x0003A1B0
		public MBReadOnlyList<CharacterObject> TournamentTeamTemplatesForOneParticipant { get; private set; }

		// Token: 0x17000293 RID: 659
		// (get) Token: 0x06000B21 RID: 2849 RVA: 0x0003BFB9 File Offset: 0x0003A1B9
		// (set) Token: 0x06000B22 RID: 2850 RVA: 0x0003BFC1 File Offset: 0x0003A1C1
		public MBReadOnlyList<CharacterObject> TournamentTeamTemplatesForTwoParticipant { get; private set; }

		// Token: 0x17000294 RID: 660
		// (get) Token: 0x06000B23 RID: 2851 RVA: 0x0003BFCA File Offset: 0x0003A1CA
		// (set) Token: 0x06000B24 RID: 2852 RVA: 0x0003BFD2 File Offset: 0x0003A1D2
		public MBReadOnlyList<CharacterObject> TournamentTeamTemplatesForFourParticipant { get; private set; }

		// Token: 0x17000295 RID: 661
		// (get) Token: 0x06000B25 RID: 2853 RVA: 0x0003BFDB File Offset: 0x0003A1DB
		// (set) Token: 0x06000B26 RID: 2854 RVA: 0x0003BFE3 File Offset: 0x0003A1E3
		public MBReadOnlyList<CharacterObject> BasicMercenaryTroops { get; private set; }

		// Token: 0x17000296 RID: 662
		// (get) Token: 0x06000B27 RID: 2855 RVA: 0x0003BFEC File Offset: 0x0003A1EC
		// (set) Token: 0x06000B28 RID: 2856 RVA: 0x0003BFF4 File Offset: 0x0003A1F4
		public int TownEdgeNumber { get; set; }

		// Token: 0x17000297 RID: 663
		// (get) Token: 0x06000B29 RID: 2857 RVA: 0x0003BFFD File Offset: 0x0003A1FD
		// (set) Token: 0x06000B2A RID: 2858 RVA: 0x0003C005 File Offset: 0x0003A205
		public int MilitiaBonus { get; set; }

		// Token: 0x17000298 RID: 664
		// (get) Token: 0x06000B2B RID: 2859 RVA: 0x0003C00E File Offset: 0x0003A20E
		// (set) Token: 0x06000B2C RID: 2860 RVA: 0x0003C016 File Offset: 0x0003A216
		public int ProsperityBonus { get; set; }

		// Token: 0x17000299 RID: 665
		// (get) Token: 0x06000B2D RID: 2861 RVA: 0x0003C01F File Offset: 0x0003A21F
		// (set) Token: 0x06000B2E RID: 2862 RVA: 0x0003C027 File Offset: 0x0003A227
		public CultureObject.BoardGameType BoardGame { get; private set; }

		// Token: 0x06000B2F RID: 2863 RVA: 0x0003C030 File Offset: 0x0003A230
		public override string ToString()
		{
			return base.Name.ToString();
		}

		// Token: 0x06000B30 RID: 2864 RVA: 0x0003C040 File Offset: 0x0003A240
		public override void Deserialize(MBObjectManager objectManager, XmlNode node)
		{
			base.Deserialize(objectManager, node);
			this.TownEdgeNumber = ((node.Attributes["town_edge_number"] == null) ? 0 : Convert.ToInt32(node.Attributes["town_edge_number"].Value));
			this.MilitiaBonus = ((node.Attributes["militia_bonus"] == null) ? 0 : Convert.ToInt32(node.Attributes["militia_bonus"].Value));
			this.ProsperityBonus = ((node.Attributes["prosperity_bonus"] == null) ? 0 : Convert.ToInt32(node.Attributes["prosperity_bonus"].Value));
			this.DefaultPartyTemplate = objectManager.ReadObjectReferenceFromXml<PartyTemplateObject>("default_party_template", node);
			this.VillagerPartyTemplate = objectManager.ReadObjectReferenceFromXml<PartyTemplateObject>("villager_party_template", node);
			this.MilitiaPartyTemplate = objectManager.ReadObjectReferenceFromXml<PartyTemplateObject>("militia_party_template", node);
			this.RebelsPartyTemplate = objectManager.ReadObjectReferenceFromXml<PartyTemplateObject>("rebels_party_template", node);
			this.CaravanPartyTemplate = objectManager.ReadObjectReferenceFromXml<PartyTemplateObject>("caravan_party_template", node);
			this.EliteCaravanPartyTemplate = objectManager.ReadObjectReferenceFromXml<PartyTemplateObject>("elite_caravan_party_template", node);
			this.BanditBossPartyTemplate = objectManager.ReadObjectReferenceFromXml<PartyTemplateObject>("bandit_boss_party_template", node);
			this.VassalRewardTroopsPartyTemplate = objectManager.ReadObjectReferenceFromXml<PartyTemplateObject>("vassal_reward_party_template", node);
			this.EliteBasicTroop = objectManager.ReadObjectReferenceFromXml<CharacterObject>("elite_basic_troop", node);
			this.MeleeEliteMilitiaTroop = objectManager.ReadObjectReferenceFromXml<CharacterObject>("melee_elite_militia_troop", node);
			this.RangedEliteMilitiaTroop = objectManager.ReadObjectReferenceFromXml<CharacterObject>("ranged_elite_militia_troop", node);
			this.MeleeMilitiaTroop = objectManager.ReadObjectReferenceFromXml<CharacterObject>("melee_militia_troop", node);
			this.RangedMilitiaTroop = objectManager.ReadObjectReferenceFromXml<CharacterObject>("ranged_militia_troop", node);
			this.BasicTroop = objectManager.ReadObjectReferenceFromXml<CharacterObject>("basic_troop", node);
			this.DefaultBattleEquipmentRoster = objectManager.ReadObjectReferenceFromXml<MBEquipmentRoster>("default_battle_equipment_roster", node);
			this.DefaultCivilianEquipmentRoster = objectManager.ReadObjectReferenceFromXml<MBEquipmentRoster>("default_civilian_equipment_roster", node);
			this.DuelPresetEquipmentRoster = objectManager.ReadObjectReferenceFromXml<MBEquipmentRoster>("duel_preset_equipment_roster", node);
			this.TournamentMaster = objectManager.ReadObjectReferenceFromXml<CharacterObject>("tournament_master", node);
			this.Villager = objectManager.ReadObjectReferenceFromXml<CharacterObject>("villager", node);
			this.CaravanMaster = objectManager.ReadObjectReferenceFromXml<CharacterObject>("caravan_master", node);
			this.ArmedTrader = objectManager.ReadObjectReferenceFromXml<CharacterObject>("armed_trader", node);
			this.CaravanGuard = objectManager.ReadObjectReferenceFromXml<CharacterObject>("caravan_guard", node);
			this.PrisonGuard = objectManager.ReadObjectReferenceFromXml<CharacterObject>("prison_guard", node);
			this.Guard = objectManager.ReadObjectReferenceFromXml<CharacterObject>("guard", node);
			this.Blacksmith = objectManager.ReadObjectReferenceFromXml<CharacterObject>("blacksmith", node);
			this.Weaponsmith = objectManager.ReadObjectReferenceFromXml<CharacterObject>("weaponsmith", node);
			this.Townswoman = objectManager.ReadObjectReferenceFromXml<CharacterObject>("townswoman", node);
			this.TownswomanInfant = objectManager.ReadObjectReferenceFromXml<CharacterObject>("townswoman_infant", node);
			this.TownswomanChild = objectManager.ReadObjectReferenceFromXml<CharacterObject>("townswoman_child", node);
			this.TownswomanTeenager = objectManager.ReadObjectReferenceFromXml<CharacterObject>("townswoman_teenager", node);
			this.Townsman = objectManager.ReadObjectReferenceFromXml<CharacterObject>("townsman", node);
			this.TownsmanInfant = objectManager.ReadObjectReferenceFromXml<CharacterObject>("townsman_infant", node);
			this.TownsmanChild = objectManager.ReadObjectReferenceFromXml<CharacterObject>("townsman_child", node);
			this.TownsmanTeenager = objectManager.ReadObjectReferenceFromXml<CharacterObject>("townsman_teenager", node);
			this.VillageWoman = objectManager.ReadObjectReferenceFromXml<CharacterObject>("village_woman", node);
			this.VillagerMaleChild = objectManager.ReadObjectReferenceFromXml<CharacterObject>("villager_male_child", node);
			this.VillagerMaleTeenager = objectManager.ReadObjectReferenceFromXml<CharacterObject>("villager_male_teenager", node);
			this.VillagerFemaleChild = objectManager.ReadObjectReferenceFromXml<CharacterObject>("villager_female_child", node);
			this.VillagerFemaleTeenager = objectManager.ReadObjectReferenceFromXml<CharacterObject>("villager_female_teenager", node);
			this.RansomBroker = objectManager.ReadObjectReferenceFromXml<CharacterObject>("ransom_broker", node);
			this.GangleaderBodyguard = objectManager.ReadObjectReferenceFromXml<CharacterObject>("gangleader_bodyguard", node);
			this.MerchantNotary = objectManager.ReadObjectReferenceFromXml<CharacterObject>("merchant_notary", node);
			this.ArtisanNotary = objectManager.ReadObjectReferenceFromXml<CharacterObject>("artisan_notary", node);
			this.PreacherNotary = objectManager.ReadObjectReferenceFromXml<CharacterObject>("preacher_notary", node);
			this.RuralNotableNotary = objectManager.ReadObjectReferenceFromXml<CharacterObject>("rural_notable_notary", node);
			this.ShopWorker = objectManager.ReadObjectReferenceFromXml<CharacterObject>("shop_worker", node);
			this.Tavernkeeper = objectManager.ReadObjectReferenceFromXml<CharacterObject>("tavernkeeper", node);
			this.TavernGamehost = objectManager.ReadObjectReferenceFromXml<CharacterObject>("taverngamehost", node);
			this.Musician = objectManager.ReadObjectReferenceFromXml<CharacterObject>("musician", node);
			this.TavernWench = objectManager.ReadObjectReferenceFromXml<CharacterObject>("tavern_wench", node);
			this.Armorer = objectManager.ReadObjectReferenceFromXml<CharacterObject>("armorer", node);
			this.HorseMerchant = objectManager.ReadObjectReferenceFromXml<CharacterObject>("horseMerchant", node);
			this.Barber = objectManager.ReadObjectReferenceFromXml<CharacterObject>("barber", node);
			this.Merchant = objectManager.ReadObjectReferenceFromXml<CharacterObject>("merchant", node);
			this.Beggar = objectManager.ReadObjectReferenceFromXml<CharacterObject>("beggar", node);
			this.FemaleBeggar = objectManager.ReadObjectReferenceFromXml<CharacterObject>("female_beggar", node);
			this.FemaleDancer = objectManager.ReadObjectReferenceFromXml<CharacterObject>("female_dancer", node);
			this.MilitiaArcher = objectManager.ReadObjectReferenceFromXml<CharacterObject>("militia_archer", node);
			this.MilitiaVeteranArcher = objectManager.ReadObjectReferenceFromXml<CharacterObject>("militia_veteran_archer", node);
			this.MilitiaSpearman = objectManager.ReadObjectReferenceFromXml<CharacterObject>("militia_spearman      ", node);
			this.MilitiaVeteranSpearman = objectManager.ReadObjectReferenceFromXml<CharacterObject>("militia_veteran_spearman", node);
			this.GearPracticeDummy = objectManager.ReadObjectReferenceFromXml<CharacterObject>("gear_practice_dummy     ", node);
			this.WeaponPracticeStage1 = objectManager.ReadObjectReferenceFromXml<CharacterObject>("weapon_practice_stage_1", node);
			this.WeaponPracticeStage2 = objectManager.ReadObjectReferenceFromXml<CharacterObject>("weapon_practice_stage_2", node);
			this.WeaponPracticeStage3 = objectManager.ReadObjectReferenceFromXml<CharacterObject>("weapon_practice_stage_3", node);
			this.GearDummy = objectManager.ReadObjectReferenceFromXml<CharacterObject>("gear_dummy", node);
			this.BanditBandit = objectManager.ReadObjectReferenceFromXml<CharacterObject>("bandit_bandit", node);
			this.BanditRaider = objectManager.ReadObjectReferenceFromXml<CharacterObject>("bandit_raider", node);
			this.BanditChief = objectManager.ReadObjectReferenceFromXml<CharacterObject>("bandit_chief", node);
			this.BanditBoss = objectManager.ReadObjectReferenceFromXml<CharacterObject>("bandit_boss", node);
			this.EncyclopediaText = ((node.Attributes["text"] != null) ? new TextObject(node.Attributes["text"].Value, null) : TextObject.Empty);
			CultureObject.BoardGameType boardGame;
			if (node.Attributes["board_game_type"] != null && Enum.TryParse<CultureObject.BoardGameType>(node.Attributes["board_game_type"].Value, out boardGame))
			{
				this.BoardGame = boardGame;
			}
			XmlNodeList childNodes = node.ChildNodes;
			this._defaultPolicyList = new MBList<PolicyObject>();
			this._maleNameList = new MBList<TextObject>();
			this._femaleNameList = new MBList<TextObject>();
			this._clanNameList = new MBList<TextObject>();
			this._cultureFeats = new MBList<FeatObject>();
			MBList<int> mblist = new MBList<int>();
			MBList<CharacterObject> mblist2 = new MBList<CharacterObject>();
			MBList<CharacterObject> mblist3 = new MBList<CharacterObject>();
			MBList<CharacterObject> mblist4 = new MBList<CharacterObject>();
			MBList<CharacterObject> mblist5 = new MBList<CharacterObject>();
			MBList<CharacterObject> mblist6 = new MBList<CharacterObject>();
			MBList<CharacterObject> mblist7 = new MBList<CharacterObject>();
			MBList<ItemObject> mblist8 = new MBList<ItemObject>();
			MBList<ItemObject> mblist9 = new MBList<ItemObject>();
			MBList<CharacterObject> mblist10 = new MBList<CharacterObject>();
			foreach (object obj in childNodes)
			{
				XmlNode xmlNode = (XmlNode)obj;
				if (xmlNode.Name == "default_policies")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj2 = enumerator2.Current;
							XmlNode xmlNode2 = (XmlNode)obj2;
							PolicyObject @object = objectManager.GetObject<PolicyObject>(xmlNode2.Attributes["id"].Value);
							this._defaultPolicyList.Add(@object);
						}
						continue;
					}
				}
				if (xmlNode.Name == "male_names")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj3 = enumerator2.Current;
							XmlNode xmlNode3 = (XmlNode)obj3;
							this._maleNameList.Add(new TextObject(xmlNode3.Attributes["name"].Value, null));
						}
						continue;
					}
				}
				if (xmlNode.Name == "female_names")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj4 = enumerator2.Current;
							XmlNode xmlNode4 = (XmlNode)obj4;
							this._femaleNameList.Add(new TextObject(xmlNode4.Attributes["name"].Value, null));
						}
						continue;
					}
				}
				if (xmlNode.Name == "clan_names")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj5 = enumerator2.Current;
							XmlNode xmlNode5 = (XmlNode)obj5;
							this._clanNameList.Add(new TextObject(xmlNode5.Attributes["name"].Value, null));
						}
						continue;
					}
				}
				if (xmlNode.Name == "cultural_feats")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj6 = enumerator2.Current;
							string value = ((XmlNode)obj6).Attributes["id"].Value;
							FeatObject object2 = MBObjectManager.Instance.GetObject<FeatObject>(value);
							if (!this._cultureFeats.Contains(object2))
							{
								this._cultureFeats.Add(object2);
							}
							else
							{
								Debug.FailedAssert("Feat object already exists!", "C:\\Develop\\MB3\\Source\\Bannerlord\\TaleWorlds.CampaignSystem\\CultureObject.cs", "Deserialize", 375);
							}
						}
						continue;
					}
				}
				if (xmlNode.Name == "possible_clan_banner_icon_ids")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj7 = enumerator2.Current;
							int item;
							int.TryParse(((XmlNode)obj7).Attributes["id"].Value, out item);
							mblist.Add(item);
						}
						continue;
					}
				}
				if (xmlNode.Name == "notable_and_wanderer_templates")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj8 = enumerator2.Current;
							XmlNode node2 = (XmlNode)obj8;
							CharacterObject item2 = objectManager.ReadObjectReferenceFromXml<CharacterObject>("name", node2);
							mblist2.Add(item2);
						}
						continue;
					}
				}
				if (xmlNode.Name == "lord_templates")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj9 = enumerator2.Current;
							XmlNode node3 = (XmlNode)obj9;
							CharacterObject item3 = objectManager.ReadObjectReferenceFromXml<CharacterObject>("name", node3);
							mblist4.Add(item3);
						}
						continue;
					}
				}
				if (xmlNode.Name == "rebellion_hero_templates")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj10 = enumerator2.Current;
							XmlNode node4 = (XmlNode)obj10;
							CharacterObject item4 = objectManager.ReadObjectReferenceFromXml<CharacterObject>("name", node4);
							mblist3.Add(item4);
						}
						continue;
					}
				}
				if (xmlNode.Name == "tournament_team_templates_one_participant")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj11 = enumerator2.Current;
							XmlNode node5 = (XmlNode)obj11;
							mblist5.Add(objectManager.ReadObjectReferenceFromXml<CharacterObject>("name", node5));
						}
						continue;
					}
				}
				if (xmlNode.Name == "tournament_team_templates_two_participant")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj12 = enumerator2.Current;
							XmlNode node6 = (XmlNode)obj12;
							mblist6.Add(objectManager.ReadObjectReferenceFromXml<CharacterObject>("name", node6));
						}
						continue;
					}
				}
				if (xmlNode.Name == "tournament_team_templates_four_participant")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj13 = enumerator2.Current;
							XmlNode node7 = (XmlNode)obj13;
							mblist7.Add(objectManager.ReadObjectReferenceFromXml<CharacterObject>("name", node7));
						}
						continue;
					}
				}
				if (xmlNode.Name == "vassal_reward_items")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj14 = enumerator2.Current;
							XmlNode node8 = (XmlNode)obj14;
							mblist8.Add(objectManager.ReadObjectReferenceFromXml<ItemObject>("id", node8));
						}
						continue;
					}
				}
				if (xmlNode.Name == "basic_mercenary_troops")
				{
					using (IEnumerator enumerator2 = xmlNode.ChildNodes.GetEnumerator())
					{
						while (enumerator2.MoveNext())
						{
							object obj15 = enumerator2.Current;
							XmlNode node9 = (XmlNode)obj15;
							mblist10.Add(objectManager.ReadObjectReferenceFromXml<CharacterObject>("name", node9));
						}
						continue;
					}
				}
				if (xmlNode.Name == "banner_bearer_replacement_weapons")
				{
					foreach (object obj16 in xmlNode.ChildNodes)
					{
						XmlNode node10 = (XmlNode)obj16;
						mblist9.Add(objectManager.ReadObjectReferenceFromXml<ItemObject>("id", node10));
					}
				}
			}
			this.PossibleClanBannerIconsIDs = mblist;
			this.NotableAndWandererTemplates = mblist2;
			this.RebelliousHeroTemplates = mblist3;
			this.LordTemplates = mblist4;
			this.TournamentTeamTemplatesForOneParticipant = mblist5;
			this.TournamentTeamTemplatesForTwoParticipant = mblist6;
			this.TournamentTeamTemplatesForFourParticipant = mblist7;
			mblist8.RemoveAll((ItemObject x) => !x.IsReady);
			this.VassalRewardItems = mblist8;
			this.BasicMercenaryTroops = mblist10;
			mblist9.RemoveAll((ItemObject x) => !x.IsReady);
			this.BannerBearerReplacementWeapons = mblist9;
		}

		// Token: 0x06000B31 RID: 2865 RVA: 0x0003CFF0 File Offset: 0x0003B1F0
		public override TextObject GetName()
		{
			return base.Name;
		}

		// Token: 0x0400034A RID: 842
		private MBList<TextObject> _maleNameList;

		// Token: 0x0400034B RID: 843
		private MBList<TextObject> _femaleNameList;

		// Token: 0x0400034C RID: 844
		private MBList<TextObject> _clanNameList;

		// Token: 0x0400034D RID: 845
		private MBList<FeatObject> _cultureFeats;

		// Token: 0x0400034E RID: 846
		private MBList<PolicyObject> _defaultPolicyList;

		// Token: 0x020004A6 RID: 1190
		public enum BoardGameType
		{
			// Token: 0x0400140F RID: 5135
			None = -1,
			// Token: 0x04001410 RID: 5136
			Seega,
			// Token: 0x04001411 RID: 5137
			Puluc,
			// Token: 0x04001412 RID: 5138
			Konane,
			// Token: 0x04001413 RID: 5139
			MuTorere,
			// Token: 0x04001414 RID: 5140
			Tablut,
			// Token: 0x04001415 RID: 5141
			BaghChal,
			// Token: 0x04001416 RID: 5142
			Total
		}
	}
}
